namespace Vibstudio.X4NET.IO.INI.Model.Configuration
{
    using System;
    using System.Text.RegularExpressions;

    public interface IIniParserConfiguration : ICloneable
    {
        bool AllowDuplicateKeys { get; set; }
            
        bool AllowDuplicateSections { get; set; }

        bool AllowKeysWithoutSection { get; set; }
        
	    string AssigmentSpacer { get; set; }
        
        Regex CommentRegex { get; set; }
        
        string CommentString { get; set; }

        char KeyValueAssigmentChar { get; set; }

        bool OverrideDuplicateKeys { get; set; }
        
        char SectionEndChar { get; set; }
        
        Regex SectionRegex { get; set; }

        char SectionStartChar { get; set; }

        bool SkipInvalidLines { get; set; }

        bool ThrowExceptionsOnError { get; set; }
        
        new IIniParserConfiguration Clone();
    }
}